/**
 * Created by lenovo on 2018/6/26.
 */
public class abc {
//    private void encodeParam(Map<String, Object> params) {
//        for (Map.Entry<String, Object> param : params.entrySet()) {
//            // 是否存在中文
//            if (isEscape(param.getValue())) {
//                params.put(param.getKey(), getVal(param.getValue()));
//            }
//            // 是否存在json字符
//            if (isJson(param.getValue())) {
//                params.put(param.getKey(), jsonEscape(param.getValue()));
//            }
//        }
//    }
//
//    public String fullUri() {
//        //只有post json形式传递入参才有List形式
//        if (!isKV(this.getParams())) {
//            return url;
//        }
//
//        // 参数转义
//        Map<String, Object> paramsMap = (Map<String, Object>) this.params;
//        StringBuffer buffer = new StringBuffer();
//        buffer.append(url);
//        if (!paramsMap.isEmpty()) {
//            buffer.append("?");
//        }
//        for (Map.Entry<String, Object> entry : paramsMap.entrySet()) {
//            buffer.append(entry.getKey()).append("=").append(entry.getValue());
//            buffer.append("&");
//        }
//        return buffer.toString();
//    }
//
//    /**
//     * 判断是否包含中文参数，中文需要进行转义
//     *
//     * @param str
//     * @return
//     */
//    private boolean isEscape(Object str) {
//        Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
//        Matcher m = p.matcher(str.toString());
//        if (m.find()) {
//            return true;
//        }
//        return false;
//    }
//
//    /**
//     * http 表单提交如果出现json格式会认为是一个不和发的URL
//     *
//     * @param json
//     * @return
//     */
//    private boolean isJson(Object json) {
//        boolean isJson = false;
//        if (json.toString().startsWith("[") || json.toString().startsWith("{")) {
//            isJson = true;
//        }
//        return isJson;
//    }
//
//    private String getVal(Object str) {
//        return URLEncoder.encode(str.toString());
//    }
//
//    /**
//     * html特殊字符转义 {@link "https://blog.csdn.net/superit401/article/details/78052965"}
//     *
//     * @param json
//     * @return
//     */
//    private String jsonEscape(Object json) {
//        return json.toString().replace("\"", "%22")
//                .replace("{", "%7D").replace("}", "%7D")
//                .replace("[", "%5B").replace("]", "%5D");
//    }
//
//    /**
//     * 判断是否健值对形式
//     *
//     * @param param
//     * @return
//     */
//    private boolean isKV(Object param) {
//        if (param instanceof List) {
//            return false;
//        } else {
//            return true;
//        }
//    }
//
//    /**
//     * 添加cookie
//     *
//     * @param cookie
//     * @return
//     */
//    public boolean addCookie(Cookie cookie) {
//        Map<String, String> attribs = cookie.getAttribs();
//        if (headers == null) {
//            headers = new HashMap<>();
//        }
//        for (Map.Entry<String, String> entrie : attribs.entrySet()) {
//            headers.put(entrie.getKey(), entrie.getValue());
//        }
//        return true;
//    }
//
//    /**
//     * 判断请求头是否携带："Content-Type","application/json;charset=UTF-8"
//     */
//    public String getContentType() {
//        for (Map.Entry<String, Object> entry : headers.entrySet()) {
//            if ("Content-Type".toLowerCase().equals(entry.getKey().toLowerCase())) {
//                return entry.getValue().toString();
//            }
//        }
//        return null;
//    }
//}
}
